package com.dilidili.mapper;

import com.domain.NiceVideo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 【请填写功能名称】Mapper接口
 * 
 * @author ruoyi
 * @date 2022-03-31
 */
public interface NiceVideoMapper 
{
    /**
     * 查询【请填写功能名称】
     *
     * @param nVUserId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public NiceVideo selectNiceVideoByNVUserId(Long nVUserId);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param niceVideo 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<NiceVideo> selectNiceVideoList(NiceVideo niceVideo);

    /**
     * 新增【请填写功能名称】
     *
     * @param niceVideo 【请填写功能名称】
     * @return 结果
     */
    public int insertNiceVideo(NiceVideo niceVideo);

    /**
     * 修改【请填写功能名称】
     *
     * @param niceVideo 【请填写功能名称】
     * @return 结果
     */
    public int updateNiceVideo(NiceVideo niceVideo);

    /**
     * 删除【请填写功能名称】
     *
     * @param nVUserId 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteNiceVideoByNVUserId(Long nVUserId);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param nVUserIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteNiceVideoByNVUserIds(Long[] nVUserIds);

    List<Map> getNice(@Param("userId") Integer userId,@Param("videoId") Integer videoId);

    Map getNiceNum(Integer videoId);

    Integer offNiceVideo(@Param("userId")Integer userId,@Param("videoId") Integer videoId);

    Integer onNiceVideo(@Param("userId")Integer userId,@Param("videoId") Integer videoId);


    List<NiceVideo> queryByUserId(@Param("userId") Long userId);
    List<NiceVideo> queryByVideoId(@Param("videoId") Long videoId);

    @Delete("delete from nice_video where n_v_video_id=#{videoId}")
    void delByVideoId(@Param("videoId") Long videoId);
}
